Skip to content

Conversation

rjcamatos
Copy link

If there are 2 or more methods with the same name but reciving diferent arguments the QJSEngine Pickup the First One declared.

Example:
methodxyz(string)
methodxyz(objptr*)

It picks up the first one passing as argument a string and not the one that i was expecting an object as it was send.

Copy link

cla-assistant bot commented Nov 15, 2024

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
0 out of 13 committers have signed the CLA.

❌ NickBennett1812
❌ Dmitrii Akshintsev
❌ timblechmann
❌ qtrampe
❌ samishalayel
❌ mitchcurtis
❌ eskilblomfeldt
❌ JKSH
❌ brrborges
❌ ec1oud
❌ Issam-b
❌ ahartmetz
❌ FriedemannKleint


Dmitrii Akshintsev seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

Petrivirkkunen and others added 28 commits August 8, 2025 16:25
Use SignalQueue, implemented in an earlier patch, in QtQuickView and
QtQuickViewContent to handle connecting to QML signals before the QML
is done loading, in these cases:

* QtQuickView: If the underlying QAndroidQuickView object has not been
created
* Once the QAndroidQuickView is created and the view reference is
set, we can send the queued connections to the C++ side safely.

* QtQuickViewContent: If the Content has not been attached to a
QtQuickView
* Once the Content has been assigned a QtQuickView, we can send
these queued connections to the QtQuickView safely. The
QtQuickView may or may not queue these as well.

Task-number: QTBUG-137057
Change-Id: Id84fb184d2d60a95f0ffb77896d0c553d7f52338
Reviewed-by: Assam Boudjelthia <[email protected]>
Update return value and behavior descriptions in
QtQuickView/QtQuickViewContent::connectSignalListener functions.

Change-Id: I566b5c7940c74daec6f20072d2db35bb66d3f86f
Reviewed-by: Assam Boudjelthia <[email protected]>
This commit adds some tests for QtQuickView and QtQuickViewContent
signal listeners that are registered before the QML is loaded.

Task-number: QTBUG-137057
Change-Id: Id10420186399cb49d63f281ae195eeacf325250d
Reviewed-by: Assam Boudjelthia <[email protected]>
Amends e0791e8.

Pick-to: 6.8 6.9 6.10
Change-Id: I8bf20c2cb01e1ff8e261fbb0c596a5b6b6c8aa68
Reviewed-by: Nicholas Bennett <[email protected]>
Use qt_internal_add_RunCMake_test instead of add_RunCMake_test to
ensure Qt specific behaviors are applied.

Pick-to: 6.8 6.9 6.10
Change-Id: Ia751f66cd4cd76e76ea0bb5e31f4b8372b2ca22a
Reviewed-by: Joerg Bornemann <[email protected]>
Since 6.10 Qt i18n component allows mixing id based with text
based translation and this is reflected in lrelease, lupdate,
and documentation.
This patch is a partial revert of
8b61add and removes the
qmllint warning in the case of mixing these two.

Pick-to: 6.10
Change-Id: Iae2407da2bc5cc21fc3664051834c99b8c72fe58
Reviewed-by: Sami Shalayel <[email protected]>
This was already done for FileDialog, but not for FolderDialog.

It prevents a crash.

Amends 87f6e63

Pick-to: 6.10 6.9 6.8
Change-Id: If6ab9152b9f1f5dcef92dfa891d09202968ef81e
Reviewed-by: Mitch Curtis <[email protected]>
Change-Id: I0204e4ca1ee787b7f7c8a5f8d980475554a50aac
Reviewed-by: Qt Submodule Update Bot <[email protected]>
We want QRangeModel to be the preferred mechanism for exposing C++ data
to QML. Ideally, it will also be a replacement for using QVariantList or
QObjectList, without the "quirks" of exposing a value type holding
references, modelData vs named roles, no write-back etc.

To make sure that the respective usage patterns don't break, add a test
for QVariantList and QObjectList, and corresponding tests that use
QRangeModel with equivalent data structures.

The test shows some unexpected and excessive calls to both data() and
setData() implementations of QRangeModel, which are QEXPECT_FAIL'ed for
now. Unrelated to this test of QRangeModel, so leaving that for a future
commit.

Pick-to: 6.10
Change-Id: I870c78d845de507dafd27f6999154a1a7ea92a1b
Reviewed-by: Fabian Kosmale <[email protected]>
The engine handles this just fine, and we had examples (and probably
documentation) shownig this pattern.
If we want to warn about it, it should have a dedicated warning.

Pick-to: 6.10
Change-Id: I105f4a49ecfc6fbd5f00c683e0dbef7d34a64a1d
Reviewed-by: Olivier De Cannière <[email protected]>
QJSValue is slow and can be avoided. Use more specific types.

Also, switch to an exception based error handling instead of
returning undefined.

Amends 5e31295, found in API review

Pick-to: 6.10
Change-Id: Ie7c304a0dd76c8096e7c1f9b7cc3cfe7471649da
Reviewed-by: Fabian Kosmale <[email protected]>
As highlightedIndex property is added to SearchField, relevant style
implementations that previously relied on currentIndex have been updated
to use highlightedIndex.

Pick-to: 6.10
Change-Id: Ib8bc065c92aa95a1ea5ea3cd5c3825bbd15c2f2d
Reviewed-by: Jan Arve Sæther <[email protected]>
The SideBar were facing two major issues.
The first had to do with the buttonDelegate's `required icon` line,
which didn't work after 7322e05,
resulting in an error during component creation.

The other issue had to do with the icons qrc paths only working for the
Basic style. Since the paths were relative, they'd assume that no file
selectors were being used, and thus a simpler path resolution.
This caused all non-basic styles to resolve the url to an invalid
resource.

The first issue was fixed by removing `required icon`, and the latter
was fixed by using complete qrc paths.

In addition, we do a small drive-by fix, by putting a user facing string
into qsTr().

Pick-to: 6.10 6.9
Change-Id: If6cd7ab638ec349b39fe0e4bc763ead78a51a0f4
Reviewed-by: Jonas Karlsson <[email protected]>
Reviewed-by: Mitch Curtis <[email protected]>
These binding loops were introduced in
0e4d470, since the nested
overwriteConfirmationDialog's width were still determined by the contentItem,
but the contentItem's width depended on the overwriteConfirmationDialog's
width.

This resulted in a binding loop, which could be fixed by giving the
overwriteConfirmationDialog an explicit width.

Pick-to: 6.10
Change-Id: I3bb2957fd31710b093eb7f7e887df8f045809921
Reviewed-by: Mitch Curtis <[email protected]>
Added braces to the m_hasQueuedStatus check for consistency
and to prevent potential errors if more statements are added later.

No functional changes.

Amends 76bb559

Pick-to: 6.10 6.9 6.9.2
Change-Id: Ic465f41cf08aed0f3f6222786f8fa13f8657d385
Reviewed-by: Assam Boudjelthia <[email protected]>
QQmlComponent has two stages where it can produce errors that weren't
accounted for in the first example (which is what most users will see
first): in its constructor and in create(). Add error handling for
these so that users aren't confused when their QML silently fails to
load or they get crashes trying to access non-existent objects returned
by create().

Pick-to: 6.5 6.8 6.9 6.10
Change-Id: I42d0222a997b3cac01cd191bb076513642f5716d
Reviewed-by: Fabian Kosmale <[email protected]>
Reviewed-by: Ulf Hermann <[email protected]>
Both QQmlComponent's constructor (the "compile" phase) and create()
(the "create" phase) can produce errors, according to
https://doc.qt.io/qt-6/qqmlcomponent.html#errors.

This fixes a crash caused by an error in the QML, which the tool would
then silently ignore and try to access nullptr items.

Pick-to: 6.5 6.8 6.9 6.10
Change-Id: I2ba6301f8f1f5cd4d804eba290606cf48b584ddb
Reviewed-by: Eirik Aavitsland <[email protected]>
The svgtoqml tool has been updated, so we need to update its
generated files as well.

Pick-to: 6.10
Change-Id: Ie58653c35e99e0c1119a9bf64d803371d31261e5
Reviewed-by: Eirik Aavitsland <[email protected]>
Reviewed-by: Hatem ElKharashy <[email protected]>
QQuadpath did not maintain the isSubpathEnd-flag, so it would
typically be lost during path processing. Fix to ensure that
algorithms that test for it work correctly.

Pick-to: 6.10
Change-Id: I793b06ef87087cce4a4545bcd7fd2e20ca3790ad
Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
tst_QQuickPopup::closePolicy and cursorShape are no longer flaky on
openSuSE 15.6.

Unblacklist both tests.

Fixes: QTBUG-94251
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: Ic27016893b91fb38c8869c4e357be7b1b88dc45a
Reviewed-by: Axel Spoerl <[email protected]>
The method is (going to be) removed in 6.11 and is currently producing a
compilation error, as the method is marked `override` but is not
overrinding anything anymore, on current development builds that use a
recent qtbase.

Follow along the base class path and the resolution method in similar
patches (e.g for Qt Creator) by removing the method in its entirety.

Change-Id: I6a334681764d9589317ef2121691f8d4e7888b98
Reviewed-by: Ulf Hermann <[email protected]>
The propertyList is an array allocated on the JavaScript stack. None of
it can be null.

Coverity-Id: 486709
Change-Id: I3178181aa89bfff86fb5aa469660a912b4f1691c
Reviewed-by: Olivier De Cannière <[email protected]>
Coverity-Id: 486699
Coverity-Id: 486697
Coverity-Id: 486715
Change-Id: Icdd15ff578f8be55fe9db3ffc38e893f667edc40
Reviewed-by: Olivier De Cannière <[email protected]>
stringValue() already checks isString(). We don't have to do it twice.

Coverity-Id: 486710
Change-Id: I074228f9a120c3bbfe6d4a65f05fe11322fbd07b
Reviewed-by: Olivier De Cannière <[email protected]>
Change-Id: I2fc82de562909ab2e0eecfbbe1e2e53953a33756
Reviewed-by: Fabian Kosmale <[email protected]>
Reviewed-by: Ulf Hermann <[email protected]>
We construct the iterator from the exports of the module in all current
code paths. Therefore, this case can't happen in the current code.
Still, the fact that we have a branch that throws a reference error
there tells us that it's intended to work on other collections of names,
too. Let's complete the check and also check for nullptr since
resolveExport can indeed return that.

Coverity-Id: 486706
Change-Id: Ieaf3996e76265e9e6ef59c2168699e47e41e8ff5
Reviewed-by: Olivier De Cannière <[email protected]>
The Text::wrapMode has been referenced incorrectly as Text::wrap and
its corrected in this patch.

Fixes: QTBUG-137733
Pick-to: 6.10
Change-Id: Ieb1ab02e19bc929f103443f0845a8980daceb245
Reviewed-by: Jan Arve Sæther <[email protected]>
QT_USE_NAMESPACE was missing, so they didn't compile with namespaced qt.

Pick-to: 6.10
Change-Id: Ic4b1126cfab7780c714a737e81f0947664bade02
Reviewed-by: Ulf Hermann <[email protected]>
qtrampe and others added 28 commits September 10, 2025 11:08
This patch
- fixes small syntax error
- adds the link to Qt Academy course
- add alternative way to initialize layout parameters

Task-number: QTBUG-139320
Pick-to: 6.10 6.10.0 6.9 6.8
Change-Id: I981f097474fdbc410df30076098b71f08c070a1f
Reviewed-by: Assam Boudjelthia <[email protected]>
- calculateJoin() is too big to continue as an internal lambda, and
  changes to customTriangulator2 (the only user) are coming later;
  so move it out to a top-level static function
- use const
- capture simple constants in the tooLong lambda
- explicit captures in remaining lambdas
- replace some single-letter variables with more meaningful ones
- turn some plain comments into internal function docs
- a couple of spelling and grammar corrections
- init TriangleData::pathElementIndex=INT_MIN by default,
  to be able to distinguish default-constructed instances.
  Of course they are usually >= 0, but customTriangulator2() uses
  small negative indices as special triangle-type indicators.

Change-Id: I7b70a02ac56522ee0c6aff26be80ac4e3e546bbd
Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
Lancelot at some point complained about AA changes in (among others) the
designhelpers_rectangleshape.qml baseline.  By having a closer look, it
became clear that the issue was actually overlapping triangles on arc
triangulation. It's not the only case where those occur, but it seems
like a good test case to have, because rounded rectangles are so common.

This is not the complete set of shapes from
designhelpers/designhelpers_rectangleshape.qml :
just a few that were flagged in Lancelot, plus a ControlledShape
that reproduces a similar shape and is adjustable in the usual ways.

Change-Id: Ic87f51e284157ca37b0e693e057a5ff9bdba3dcf
Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
When rendering to a layered item, the actual device pixel ratio
is determined by the ratio between the width of the texture and
the width of the logical rect.

For most use cases, using the window's device pixel ratio would
be correct, since the texture size is automatically calculated
based on this. But in the cases where a manual texture size is
set it would be incorrect and this would cause artifacts in
the antialiasing for text and shapes.

This also adds the correct scale factor to shapes, since this
was even missing the device pixel ratio factor.

Fixes: QTBUG-139997
Change-Id: Ibf1392f546f5cbcedd062852cbd87c0c0c097460
Reviewed-by: Laszlo Agocs <[email protected]>
Pick-to: 6.10.0 6.10
Change-Id: I5f00ae24c3d170e5271d15e29ea4982b197171ad
Reviewed-by: Eirik Aavitsland <[email protected]>
Amends commit 1b89c1e

Fixes: QTBUG-139764
Pick-to: 6.10 6.9 6.8
Change-Id: I1488527a235d74fc0352c72b9bfb69589c2f3d93
Reviewed-by: Sami Shalayel <[email protected]>
The components used by QQmlSortFilterProxyModel (such as
QQmlSorterCompositor) require access to the
QQmlSortFilterProxyModelPrivate members, which are not possible as
of now, and thus it would be better to keep it separate and,
include it wherever required.

Pick-to: 6.10
Change-Id: I4159a0ef988dc0a67dfb2ed8443137fa91e5a5d9
Reviewed-by: Mitch Curtis <[email protected]>
The dynamic metaobject of QQmlDelegateModelAttached likes to override
them, which produces warnings.

Amends commit 9355b71.

Pick-to: 6.10 6.9 6.8
Change-Id: Iaf0d6627fe6c373177f7f28a750fa2baf5fa2a7e
Reviewed-by: Sami Shalayel <[email protected]>
It's called just "model" in other views.

Change-Id: I50ae0456d52b8751a4fb5f1fe3a18ba339ef2fd4
Reviewed-by: Sami Shalayel <[email protected]>
It's only valid in the MetaTypesStackFrame and we should use its
accessor.

Amends commit 2d016a2.

Change-Id: I6900fc01a0af2acf29324e54c0206c84f032c22d
Reviewed-by: Sami Shalayel <[email protected]>
ScopedStackFrame has no locals and we don't want to crash if we manage
to run the GC while e.g. initializing a component.

Amends commmit 2d016a2

Fixes: QTBUG-140057
Pick-to: 6.10.0 6.10 6.9 6.8
Change-Id: I7aeb39d6cb1f0ca0a661b8cfa2e7c159f968e224
Reviewed-by: Sami Shalayel <[email protected]>
Amends 9601b74

The example no longer runs with Qt 6.9 or older as it uses the new
(Horizontal|Vertical)HeaderViewDelegate types.

Change-Id: I8430f4e9a48ddc9f72b20a4e998fde21480c4032
Pick-to: 6.10.0 6.10
Reviewed-by: Mitch Curtis <[email protected]>
Use modern string literals and replace #if-defery by a check on
QOperatingSystemVersion::currentType().

Pick-to: 6.10 6.9
Change-Id: I319b6c7665a4c4cadd7d1e711d8527f79ca35261
Reviewed-by: Mitch Curtis <[email protected]>
The Qt SVG parser depends on having a QGuiApplication in order
to load e.g. fonts. We want to prefer the default plugin on
desktop platforms, since you will then be able to use SVGs that
depend on system fonts as well.

However, in a host build, where there are no GUI-enabled QPA
plugins, we fall back to offscreen, which has some font
support but which does not depend on a window manager.

Task-number: QTBUG-139976
Change-Id: Ia9a5239c3d16f1daa4ad68d66412f519109361c2
Reviewed-by: Eirik Aavitsland <[email protected]>
As part of the comment generated by svgtoqml, we would include the
entire file path as it was provided in the arguments. With the
introduction of the automatic svgtoqml build step, this argument
will now include the full absolute path.

Since the QML file is embedded in the binary, this caused internal
file paths from our build farm to leak into the binaries, triggering
an alert in the QA system.

Change-Id: Iecffb5cfcf1cee127186b2c5d2e21e2ccc47f48a
Reviewed-by: Samuli Piippo <[email protected]>
QT_NAMESPACE is a public API to access the namespace from the Qt::Core
target, replacing the private _qt_namespace property

Pick-to: 6.10
Change-Id: I013be62bbe9068e0a9eb77ea2ffb40ac2f2f1b2e
Reviewed-by: Alexandru Croitor <[email protected]>
Also ifndef QT_NO_DEBUG_STREAM around the QQuadPath debug op.
Both will be omitted from the build if QT_NO_DEBUG_STREAM is set.

Change-Id: Ie86577ba61fc4f2b118d7e0a2b1ab702b318a473
Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
The section item has not been removed or added to the section cache
in all cases when the corresponding delegate item has been moved out
of the visible area, either during flick or scroll. This happens in
a case where the delegate item has been requested to be removed (as
it goes out of the visible area) from the list view, but it's not
released from the delegate model due to its caching mechanism. When
an item is outside the visible area, releaseItem() is triggered,
intended to free the item and its sections. The problem arises when
releaseItem() calls QQmlInstanceModel::release(), which caches the
item in the delegate model, but does not free the section. This
prevents the section item from being released properly.

This patch releases the section item whenever removeItem is
triggered from the list view, which happens when the delegate item
is moved out of the visible area.

Fixes: QTBUG-137172
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: Ib7e78309e076e76750b03f3238a7501563a3962a
Reviewed-by: Oliver Eftevaag <[email protected]>
Without this we effectively soft-leak the contents of any
SimpleArrayData whenever we truncate it. Only when the array was either
completely dropped or re-filled would the extra objects be reclaimed.

Task-number: QTBUG-139025
Pick-to: 6.10 6.9 6.8
Change-Id: I88e9dc3ea8ec57c1de71b7b5417ebcfbaa75bb61
Reviewed-by: Fabian Kosmale <[email protected]>
When writing through a delegate, the original data is already written.
We are only missing change signals.

Pick-to: 6.10
Task-number: QTBUG-139941
Change-Id: I3124a8dc5852e3858a1e9bd9b74c07608bb5e446
Reviewed-by: Fabian Kosmale <[email protected]>
Instantiator is almost entirely useless without QQmlDelegateModel. The
only thing you can do is give it a list of pre-constructed objects which
it then reflects in its own "objects" property. I don't see a reasonable
use case for such a thing.

[ChangeLog][QtQml] If you build with -no-feature-qml-delegate-model,
along with most functionality of QtQml.Models, Instantiator will also
be missing now. It makes no sense to provide an Instantiator that can't
actually instantiate anything.

Change-Id: If0c31346c43ebea21abf1aef53dc3a76f96f6fbd
Reviewed-by: Fabian Kosmale <[email protected]>
Use the common pattern for setModel() and use
QQmlDelegateModel::createForView(). In turn, remove the hacky
effectiveReset mechanism. Also remove the "initial 0" optimization.
There's barely a point to this since the default model is 1. You had to
go out of your way to trigger it.

Change-Id: I80030ef36b82b312e6b7600616eebf2615a2f3d8
Reviewed-by: Fabian Kosmale <[email protected]>
Reviewed-by: Sami Shalayel <[email protected]>
If the model contents change we need to notify. This enables the signal
propagation for Instantiator, Repeater, ListView, and GridView.

Pick-to: 6.10
Task-number: QTBUG-139941
Change-Id: I384dcd296068ca7abfd1cad9fe662ae6e8938338
Reviewed-by: Fabian Kosmale <[email protected]>
QSvgRenderer already obeys the QPen::isCosmetic() setting.
Now we add a ShapePath.cosmeticStroke property and try to support
cosmetic stroking both with SVG and with Shapes, in all renderers.

The curve renderer now starts with skinny triangles: each segment's end
vertices are passed to the vertex shader with their original positions,
and the shader uses the normal and the stroke width to expand the stroke
triangles outwards as needed. We always add triangles for end caps,
regardless whether they are square or round. We get rid of
addBevelTriangle and fix bevels, square caps and miters:

  All three of these cases are done by drawing lines adjusted to the
  right direction within the respective triangles. And to avoid seeing
  rounded ends at any reasonable zoom level, we need the line equation
  coefficients to take the line very far outside the actual triangles.

  Square caps are really square: we render line segments in those three
  triangles, not extensions of the adjacent curve or line.

  Miters are also rendered as straight tangent lines.

  The bevel's triangle is very short when the join is an acute angle,
  and almost as tall as the full stroke width when the join is very
  obtuse. But when the triangle is short, we need to diminish the stroke
  width rendered in the fragment shader so that the center of the stroke
  falls on the inner corner of that triangle, and the edge of the stroke
  is rendered along the outer bevel edge rather than trying to go outside.
  That's achieved by multiplying the stroke width by the cosine of half
  the total angle, AKA the dot product. That is now in the normalExt.z
  vertex attribute.

  Normals (normalExt.xy) can be premultiplied rather than normalized:
  in fact some of them already have length > 1.

In qsgbatchrenderer, Renderer::prepareAlphaBatches() breaks batches
when overlaps occur. Now that we stroke lines with vertices that
represent them as zero-width lines (and thus Element.bounds has
the same x or y coordinates on both corners), we must consider lines
right on top of each other to be overlapping: e.g. the stacks of
horizontal (dashed) line segments in paint-stroke-202-t.svg must be
in separate batches.

At the time QQuickShape::updatePaintNode() is called, the available
transform node (from UpdatePaintNodeData or an individual node's parent
which is a transform node) does not contain the scaling factor that we
need to allow for the stroke width to be adjusted for cosmetic stroking.
But in QQuickShapePrivate::sync(), windowToItemTransform() is known, and
from bde55ad we have a precedent in
QSGCurveStrokeMaterialShader::updateUniformData() for using the square
root of the matrix determinant as a scaling approximation (ok when the
scaling is uniform). QQuickShapeSoftwareRenderer::setNode() was already
adjusting a path's bounding rect by its stroke width, and we need a
multiplicative factor there to account for cosmetic stroking, to avoid
excessive clipping in the software renderer. So now we have another use
for the triangulationScale that was introduced in
bcfcaeb.

When QQShapeGenericRenderer is used (rendererType == GeometryRenderer),
and any ShapePath has cosmeticStroke, we need it to re-triangulate
whenever scale changes. QQuickShapeGenericRenderer::triangulateStroke()
calls QTriangulatingStroker::setInvScale(1 / triangulationScale), and
QTriangulatingStroker::process() multiplies its m_width by the inverse
scale that was set (since 2009). So this tells us that the intended
meaning of triangulationScale is the inverse of the factor by which we
multiply the pen width. And when QQShapeGenericRenderer is in use,
and there are cosmetic strokes, QQuickShape::itemChange triggers
re-triangulation on changes in scale.

When setting the QQuickShapeCurveRenderer::DebugWireframe debug
visualization flag, we need to repeat the vertex shader calculations to
expand the "skinny" triangles according to stroke width, just as we do
with the actual stroking vertices.

For now customTriangulator2 remains as legacy code, to be removed later
on. It's poorly named, and returns a list of TriangleData which need to
be iterated afterwards ("fix it in post"), looking up the
QQuadPath::Element again in that second loop, which can go wrong when a
path contains a move command. (For example, it could calculate a bevel
between the end-tangent of one subpath and the start-tangent of the
next.) customTriangulator2() was called from only one place,
processStroke(), to which addStrokeTriangleCallback() is given: so the
new way is to just call the callback directly as soon as we've
calculated each triangle. Because we are not iterating again afterwards,
the switch(type) is not needed in that case, and we no longer need
TriangleData::type, except for supporting customTriangulator2().

[ChangeLog][QtQuick][Shapes] ShapePath now has a cosmeticStroke
property which causes strokeWidth to be constant despite scaling.
Set the environment variable QT_QUICKSHAPES_STROKE_EXPANDING to 1 to
enable an experimental method of expanding strokes in the vertex shader,
minimizing the need to re-triangulate when strokeWidth changes.

Task-number: QTBUG-124638
Change-Id: I4eac0ddcd6f623b79bc70c766ff116f4b77736cb
Reviewed-by: Paul Olav Tvete <[email protected]>
Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
Change-Id: I36862f842ece2432733036da18f2ab1cd663a4e9
Reviewed-by: Shawn Rutledge <[email protected]>
Pick-to: 6.10 6.9
Change-Id: Ie20dbbc0edcd1a559209322e2f297aefc3fb121b
Reviewed-by: Tor Arne Vestbø <[email protected]>
Unwrap any QJSValues right away and eliminate a copy of the model.

Pick-to: 6.10
Task-number: QTBUG-139941
Change-Id: I7f4a3ea97ae64cf0bb24aa032f8307c56bf7a597
Reviewed-by: Santhosh Kumar <[email protected]>
Change-Id: I3f3a58771d2721dc822add922c16a7efab3024ab
Reviewed-by: Ulf Hermann <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.